$(function(){
    $("#table").bootstrapTable({ // 对应table标签的id
        url: CONTEXT_PATH + "/manage/user/query", // 获取表格数据的url
        cache: false, // 设置为 false 禁用 AJAX 数据缓存， 默认为true
        striped: true,  //表格显示条纹,隔行变色，默认为false
        pagination: true, // 在表格底部显示分页组件，默认false
        pageList: [10, 20], // 设置页面可以显示的数据条数
        pageSize: 10, // 页面数据条数
        pageNumber: 1, // 首页页码
        singleSelect: true,
        toolbar: '#toolbar',
        //search:true,
        clickToSelect: true,                //点击选中
        showColumns: true,                  //是否显示所有的列
        showRefresh: true,                  //是否显示刷新按钮
        sidePagination: 'server', // 设置为服务器端分页
        responseHandler: function(res) {
            return {
                "total": res.page.total,//总页数
                "rows": res.data   //数据
            };
        },
        queryParams: function (params) { // 请求服务器数据时发送的参数，可以在这里添加额外的查询参数，返回false则终止请求
            return {
                limit: params.limit, // 每页要显示的数据条数
                offset: params.offset, // 每页显示数据的开始行号
                sort: params.sort, // 要排序的字段
                order: params.order, // 排序规则
                searchName: $("#input_search").val() // 额外添加的参数
            }
        },
        sortName: 'uid', // 要排序的字段
        sortOrder: 'asc', // 排序规则
        columns: [
            {
                checkbox: true, // 显示一个勾选框
                align: 'center' // 居中显示
            }, {
                field: 'uid', // 返回json数据中的name
                title: 'ID', // 表格表头显示文字
                align: 'center', // 左右居中
                valign: 'middle', // 上下居中,
                sortable: true
            },  {
                field: 'userName',
                title: '用户名',
                align: 'center',
                valign: 'middle',
                sortable: true
            }
        ],
        onLoadSuccess: function(){  //加载成功时执行
            //console.info("加载成功");
        },
        onLoadError: function(){  //加载失败时执行
            layer.alert("数据加载失败");
        }

    });

    $('#btn_search').click(function () {
        $('#table').bootstrapTable('refresh');
    });
    
    $('#btn_role').click(function () {
        var records = $('#table').bootstrapTable('getSelections');
        if(records.length==0){
            layer.alert('请先选择要修改权限的用户！');
            return;
        }
        
        var userId = records[0].uid;
        
        $('#detailModalRole').modal('show');
        loadRole(userId);
    });

});

// 监听提交按钮
layui.use('form', function(){
	var form = layui.form;
	
    //监听提交
    form.on('submit(updateRoles)', function(data){
    	//layer.msg(JSON.stringify(data.field));
    	
    	var records = $('#table').bootstrapTable('getSelections');
        if(records.length==0){
            layer.alert('请先选择要修改权限的用户！');
            return false;
        }
        
        var userId = records[0].uid;
        $('#userId').val(userId);
        
        $.wajax({
            url: CONTEXT_PATH+'/manage/user/saveRoles',
            data: {userId: userId, rolesJson : JSON.stringify(data.field)},
            type: "POST",
            success: function (result) {
                if(result.code == RESULT_FAIL){
                    layer.alert(result.msg);
                    return;
                }
                layer.alert(result.msg);
                $('#detailModalRole').modal('hide');
            }
        });

    	return false;
  });
});

//加载权限列表
function loadRole(userId) {

    $.wajax({
        url: CONTEXT_PATH+'/manage/user/getRolesList',
        data: {userId: userId},
        type: "POST",
        success: function (result) {
            if(result.code == RESULT_FAIL){
                layer.alert(result.msg);
                return;
            }
            
            var roles_checkbox_div = $("#roles_checkbox_div");
            roles_checkbox_div.html('');

	        for(var i = 0; i < result.data.length; i++) {
	        	var role = result.data[i];
	        	
	        	span1 = '<input type=\'checkbox\' name="' + role['roleId'] + '" title="' + role['name'] +  '"'  + (role['checked'] ? "checked" : "") + ' >';
	        	
	        	roles_checkbox_div.append(span1);
	        }
	        
	        // 动态刷新layui表单
	        layui.use('form', function(){
	        	var form = layui.form;
	        	form.render(); 
	        });
        }
    });
}





